package arrayList;

import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {

        int a = 5;
        //a.toString();

        Integer x = new Integer(a);
        System.out.println(x.toString());


	// write your code here
        //创建 ArrayList 对象 staff，其中填充项类型指定为 Employee 类对象
        ArrayList<Employee> staff = new ArrayList<>();
        // ArrayList 对象的表示方式在 java 中和数组类似 []
        System.out.println("staff = "+staff.toString());

        // 向 staff 中添加新项
        // 因为 staff 是 Employee 的泛型数组列表
        // 所以其中只能存放 Employee 的对象
        // 使用 add 方法，添加 ArrayList 的新项到泛型数组列表末尾
        staff.add(new Employee("【破解者】卡尔",75000,1987,12,15));
        staff.add(new Employee("【黑客】亨利",50000,1989,10,1));
        staff.add(new Employee("【测试】托尼",40000,1990,3,15));

        // 替换托尼
        staff.set(2,new Employee("[测试] 汤姆",40000,1991,11,2));

        // 将汤姆替换为杰瑞
        Employee e1 = new Employee("[测试] 杰瑞",40000,1991,11,2);

        staff.set(2,e1);

        System.out.println("staff = "+staff.toString());

        //通过遍历依次访问 ArrayList 中的每一项，进行统一操作
        for(Employee e:staff)
        {
            //为每位在 starff 中的员工，统一涨薪 5%
            e.raiseSalary(5);
        }

        for(Employee e:staff)
        {
            System.out.println(e.toString());
        }

        //获取
        Employee e2 = staff.get(0);
        System.out.println(e2.toString());

        staff.remove(0);
        System.out.println("staff = "+staff.toString());


        System.out.println(e2.toString());

        System.out.println("staff 当前长度 = "+staff.size());

        Employee e3 = staff.get(0);
        System.out.println(e3.toString());
    }
}
